#include "link_list.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

// 获取随机数的函数 --获取三个数取 平均值 返回
int get_random_num(int max){ // 获取的随机数范围是 [0, max-1]
#if 0
    // 三次取平均值可能会导致最后一个同学被点到的概率变低
    int num = 0;
    for(int i = 0; i < 3; i++){
        num += rand() % max;
    }
    return num / 3;
#else
    return rand() % max;
#endif
}

// 随机访问的方式获取名字
int get_rand_name(char *buff, node_t *phead){
    // 获取随机数
    int rand_num = get_random_num(*(int *)phead->name);
    // 根据随机数决定遍历链表时走几步
    node_t *ptemp = phead->next;
    for(int i = 0; i < rand_num; i++){
        ptemp = ptemp->next;
    }
    // 取到名字
    strcpy(buff, ptemp->name);
    return 0;
}